tests: Use GdkEvent API
authorMatthias Clasen <mclasen@redhat.com>
Mon, 28 Aug 2017 23:11:14 +0000 (19:11 -0400)
committerCarlos Garnacho <carlosg@gnome.org>
Tue, 19 Sep 2017 16:39:03 +0000 (18:39 +0200)
tests/motion-compression.c
tests/testgtk.c
tests/testiconview.c
tests/testinput.c
tests/testpopup.c
tests/testtreeedit.c
tests/testtreepos.c
tests/testwidgetfocus.c

index 1dc746954a551165909138508ca7dac22964c41a..82f949c091eecaa80d12dc5073b0cadefdc743e0 100644 (file)
@@ -8,12 +8,15 @@ static void
 on_motion_notify (GtkWidget      *window,
                   GdkEventMotion *event)
 {
-  if (event->window == gtk_widget_get_window (window))
+  if (gdk_event_get_window ((GdkEvent*)event) == gtk_widget_get_window (window))
     {
+      gdouble x, y;
       float processing_ms = gtk_adjustment_get_value (adjustment);
       g_usleep (processing_ms * 1000);
-      cursor_x = event->x;
-      cursor_y = event->y;
+
+      gdk_event_get_coords ((GdkEvent *)event, &x, &y);
+      cursor_x = x;
+      cursor_y = y;
       gtk_widget_queue_draw (window);
     }
 }
index 37513bd0136974a39374b0deed87d07bf04c516c..86effa2187876e87f8d8f2308dde71d4fafa3655 100644 (file)
@@ -3812,6 +3812,8 @@ cursor_event (GtkWidget *widget,
   const gchar *name;
   gint i;
   const gint n = G_N_ELEMENTS (cursor_names);
+  GdkEventType type;
+  guint button;
 
   name = (const gchar *)g_object_get_data (G_OBJECT (widget), "name");
   if (name != NULL)
@@ -3823,11 +3825,13 @@ cursor_event (GtkWidget *widget,
   else
     i = 0;
 
-  if ((event->type == GDK_BUTTON_PRESS) &&
-      ((event->button.button == GDK_BUTTON_PRIMARY) ||
-       (event->button.button == GDK_BUTTON_SECONDARY)))
+  type = gdk_event_get_event_type (event);
+  gdk_event_get_button (event, &button);
+  if (type == GDK_BUTTON_PRESS &&
+      (button == GDK_BUTTON_PRIMARY ||
+       button == GDK_BUTTON_SECONDARY))
     {
-      if (event->button.button == GDK_BUTTON_PRIMARY)
+      if (button == GDK_BUTTON_PRIMARY)
         i = (i + 1) % n;
       else
         i = (i + n - 1) % n;
@@ -5799,21 +5803,23 @@ window_state_callback (GtkWidget *widget,
 {
   GtkWidget *label = data;
   gchar *msg;
+  GdkWindowState changed, new_state;
 
+  gdk_event_get_window_state ((GdkEvent *)event, &changed, &new_state);
   msg = g_strconcat (gtk_window_get_title (GTK_WINDOW (widget)), ": ",
-                     (event->new_window_state & GDK_WINDOW_STATE_WITHDRAWN) ?
+                     (new_state & GDK_WINDOW_STATE_WITHDRAWN) ?
                      "withdrawn" : "not withdrawn", ", ",
-                     (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) ?
+                     (new_state & GDK_WINDOW_STATE_ICONIFIED) ?
                      "iconified" : "not iconified", ", ",
-                     (event->new_window_state & GDK_WINDOW_STATE_STICKY) ?
+                     (new_state & GDK_WINDOW_STATE_STICKY) ?
                      "sticky" : "not sticky", ", ",
-                     (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED) ?
+                     (new_state & GDK_WINDOW_STATE_MAXIMIZED) ?
                      "maximized" : "not maximized", ", ",
-                     (event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN) ?
+                     (new_state & GDK_WINDOW_STATE_FULLSCREEN) ?
                      "fullscreen" : "not fullscreen",
-                     (event->new_window_state & GDK_WINDOW_STATE_ABOVE) ?
+                     (new_state & GDK_WINDOW_STATE_ABOVE) ?
                      "above" : "not above", ", ",
-                     (event->new_window_state & GDK_WINDOW_STATE_BELOW) ?
+                     (new_state & GDK_WINDOW_STATE_BELOW) ?
                      "below" : "not below", ", ",
                      NULL);
   
@@ -6109,7 +6115,7 @@ configure_event_callback (GtkWidget *widget,
   
   msg = g_strdup_printf ("event: %d,%d  %d x %d\n"
                          "position: %d, %d",
-                         event->x, event->y, event->width, event->height,
+                         0, 0, 0, 0, // FIXME
                          x, y);
   
   gtk_label_set_text (GTK_LABEL (label), msg);
@@ -6952,7 +6958,7 @@ snapshot_widget_event (GtkWidget         *widget,
   if (!data->in_query)
     return FALSE;
   
-  if (event->type == GDK_BUTTON_RELEASE)
+  if (gdk_event_get_event_type (event) == GDK_BUTTON_RELEASE)
     {
       gtk_grab_remove (widget);
       gdk_seat_ungrab (gdk_event_get_seat (event));
@@ -7259,7 +7265,11 @@ static gint
 scroll_test_scroll (GtkWidget *widget, GdkEventScroll *event,
                    GtkAdjustment *adjustment)
 {
-  gdouble new_value = gtk_adjustment_get_value (adjustment) + ((event->direction == GDK_SCROLL_UP) ?
+  GdkScrollDirection direction;
+  gdouble new_value;
+
+  gdk_event_get_scroll_direction ((GdkEvent *)event, &direction);
+  new_value = gtk_adjustment_get_value (adjustment) + (direction == GDK_SCROLL_UP ?
                                    -gtk_adjustment_get_page_increment (adjustment) / 2:
                                    gtk_adjustment_get_page_increment (adjustment) / 2);
   new_value = CLAMP (new_value, gtk_adjustment_get_lower (adjustment), gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment));
index c35916cc7dff5a5450810b1fcc240603a006e81c..ef7e85f8e66407996dc22dd50ae4ebd73d44973e 100644 (file)
@@ -336,12 +336,17 @@ do_popup_menu (GtkWidget      *icon_list,
   GtkWidget *menu;
   GtkWidget *menuitem;
   GtkTreePath *path = NULL;
-  int button, event_time;
+  guint button, event_time;
   ItemData *data;
   GList *list;
 
   if (event)
-    path = gtk_icon_view_get_path_at_pos (icon_view, event->x, event->y);
+    {
+      double x, y;
+
+      gdk_event_get_coords ((GdkEvent *)event, &x, &y);
+      path = gtk_icon_view_get_path_at_pos (icon_view, x, y);
+    }
   else
     {
       list = gtk_icon_view_get_selected_items (icon_view);
@@ -370,8 +375,8 @@ do_popup_menu (GtkWidget      *icon_list,
 
   if (event)
     {
-      button = event->button;
-      event_time = event->time;
+      gdk_event_get_button ((GdkEvent*)event, &button);
+      event_time = gdk_event_get_time ((GdkEvent *)event);
     }
   else
     {
@@ -390,7 +395,7 @@ button_press_event_handler (GtkWidget      *widget,
 {
   /* Ignore double-clicks and triple-clicks */
   if (gdk_event_triggers_context_menu ((GdkEvent *) event) &&
-      event->type == GDK_BUTTON_PRESS)
+      gdk_event_get_event_type ((GdkEvent*)event) == GDK_BUTTON_PRESS)
     {
       do_popup_menu (widget, event);
       return TRUE;
index ef3503e5d09394da65461db8174cb816f1adde2a..b47037b86d1d6c872782cb34c1fbf1a8b41a131c 100644 (file)
@@ -133,17 +133,27 @@ print_axes (GdkDevice *device, gdouble *axes)
 static gint
 button_press_event (GtkWidget *widget, GdkEventButton *event)
 {
-  if (event->button == GDK_BUTTON_PRIMARY &&
-      surface != NULL)
+  guint button;
+
+  gdk_event_get_button ((GdkEvent *)event, &button);
+
+  if (button == GDK_BUTTON_PRIMARY && surface != NULL)
     {
       gdouble pressure = 0.5;
+      GdkDevice *device;
+      gdouble *axes;
+      guint n_axes;
+      gdouble x, y;
 
-      print_axes (event->device, event->axes);
+      device = gdk_event_get_device ((GdkEvent *)event);
+      gdk_event_get_axes ((GdkEvent *)event, &axes, &n_axes);
+      gdk_event_get_coords ((GdkEvent *)event, &x, &y);
+
+      print_axes (device, axes);
       gdk_event_get_axis ((GdkEvent *)event, GDK_AXIS_PRESSURE, &pressure);
-      draw_brush (widget, gdk_device_get_source (event->device),
-                  event->x, event->y, pressure);
+      draw_brush (widget, gdk_device_get_source (device), x, y, pressure);
 
-      motion_time = event->time;
+      motion_time = gdk_event_get_time ((GdkEvent *)event);
     }
 
   return TRUE;
@@ -152,8 +162,12 @@ button_press_event (GtkWidget *widget, GdkEventButton *event)
 static gint
 key_press_event (GtkWidget *widget, GdkEventKey *event)
 {
-  if ((event->keyval >= 0x20) && (event->keyval <= 0xFF))
-    printf("I got a %c\n", event->keyval);
+  guint keyval;
+
+  gdk_event_get_keyval ((GdkEvent*)event, &keyval);
+
+  if ((keyval >= 0x20) && (keyval <= 0xFF))
+    printf("I got a %c\n", keyval);
   else
     printf("I got some other key\n");
 
@@ -166,41 +180,50 @@ motion_notify_event (GtkWidget *widget, GdkEventMotion *event)
   GdkTimeCoord **events;
   gint n_events;
   int i;
+  GdkModifierType state;
+  GdkDevice *device;
+  gdouble *axes;
+  guint n_axes;
+
+  gdk_event_get_state ((GdkEvent *)event, &state);
+  device = gdk_event_get_device ((GdkEvent *)event);
 
-  if (event->state & GDK_BUTTON1_MASK && surface != NULL)
+  if (state & GDK_BUTTON1_MASK && surface != NULL)
     {
-      if (gdk_device_get_history (event->device, event->window, 
-                                 motion_time, event->time,
+      if (gdk_device_get_history (device,
+                                  gdk_event_get_window ((GdkEvent *)event),
+                                 motion_time,
+                                  gdk_event_get_time ((GdkEvent *)event),
                                  &events, &n_events))
        {
          for (i=0; i<n_events; i++)
            {
              double x = 0, y = 0, pressure = 0.5;
 
-             gdk_device_get_axis (event->device, events[i]->axes, GDK_AXIS_X, &x);
-             gdk_device_get_axis (event->device, events[i]->axes, GDK_AXIS_Y, &y);
-             gdk_device_get_axis (event->device, events[i]->axes, GDK_AXIS_PRESSURE, &pressure);
-             draw_brush (widget, gdk_device_get_source (event->device),
-                          x, y, pressure);
+             gdk_device_get_axis (device, events[i]->axes, GDK_AXIS_X, &x);
+             gdk_device_get_axis (device, events[i]->axes, GDK_AXIS_Y, &y);
+             gdk_device_get_axis (device, events[i]->axes, GDK_AXIS_PRESSURE, &pressure);
+             draw_brush (widget, gdk_device_get_source (device), x, y, pressure);
 
-             print_axes (event->device, events[i]->axes);
+             print_axes (device, events[i]->axes);
            }
          gdk_device_free_history (events, n_events);
        }
       else
        {
          double pressure = 0.5;
+          gdouble x, y;
 
          gdk_event_get_axis ((GdkEvent *)event, GDK_AXIS_PRESSURE, &pressure);
 
-         draw_brush (widget, gdk_device_get_source (event->device),
-                      event->x, event->y, pressure);
+          gdk_event_get_coords ((GdkEvent *)event, &x, &y);
+         draw_brush (widget, gdk_device_get_source (device), x, y, pressure);
        }
-      motion_time = event->time;
+      motion_time = gdk_event_get_time ((GdkEvent *)event);
     }
 
-
-  print_axes (event->device, event->axes);
+  gdk_event_get_axes ((GdkEvent *)event, &axes, &n_axes);
+  print_axes (device, axes);
 
   return TRUE;
 }
index 8037b3e31e34ed51c32e60af1051d38a5c8b9528..3e0bfd0eee9088f8dcf4b26153b6ae875b0455be 100644 (file)
@@ -16,13 +16,14 @@ place_popup (GtkWidget *parent,
              GdkEvent  *event,
              GtkWidget *popup)
 {
-  GdkEventMotion *ev_motion = (GdkEventMotion *) event;
   gint width, height;
+  gdouble x, y;
 
   gtk_window_get_size (GTK_WINDOW (popup), &width, &height);
+  gdk_event_get_root_coords (event, &x, &y);
   gtk_window_move (GTK_WINDOW (popup),
-                   (int) ev_motion->x_root - width / 2,
-                   (int) ev_motion->y_root - height / 2);
+                   (int) x - width / 2,
+                   (int) y - height / 2);
 
   return FALSE;
 }
index e7faa618299bc10ac5ea91d7c4cc633493cf8fa7..65329136dbd53fab477bc682b96c6c06a167357d 100644 (file)
@@ -136,9 +136,11 @@ edited (GtkCellRendererText *cell,
 static gboolean
 button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer callback_data)
 {
+        double x, y;
+
+        gdk_event_get_coords ((GdkEvent *)event, &x, &y);
        /* Deselect if people click outside any row. */
-       if (!gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget),
-                                           event->x, event->y, NULL, NULL, NULL, NULL)) {
+       if (!gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget), x, y, NULL, NULL, NULL, NULL)) {
                gtk_tree_selection_unselect_all (gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)));
        }
 
index 2c8fd889c5c54f3529a849ec2355c11f2425c716..88af5e8bd34b9051d7b09ab91ebbdcfca020c55c 100644 (file)
@@ -57,11 +57,13 @@ release_event (GtkTreeView    *tv,
                GdkEventButton *event)
 {
   GtkTreePath *path;
+  gdouble x, y;
 
-  if (event->type != GDK_BUTTON_RELEASE)
+  if (gdk_event_get_event_type ((GdkEvent *)event) != GDK_BUTTON_RELEASE)
     return TRUE;
 
-  if (clicked_icon (tv, event->x, event->y, &path))
+  gdk_event_get_coords ((GdkEvent *)event, &x, &y);
+  if (clicked_icon (tv, x, y, &path))
     {
       GtkTreeModel *model;
       GtkTreeIter iter;
index 97e3074ea0432fe0221c9edd03dcf64d9df122dc..3524bb990e8154809f785277693030cdf23439db 100644 (file)
@@ -203,9 +203,12 @@ gtk_focus_widget_motion_notify_event (GtkWidget *widget,
                                       GdkEventMotion *event)
 {
   GtkFocusWidget *self = GTK_FOCUS_WIDGET (widget);
+  gdouble x, y;
 
-  self->mouse_x = event->x;
-  self->mouse_y = event->y;
+  gdk_event_get_coords ((GdkEvent *)event, &x, &y);
+
+  self->mouse_x = x;
+  self->mouse_y = y;
 
   gtk_widget_queue_draw (widget);